5G PCIe 网卡

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


Quectel Pi M2 板载一路 PCIe 接口(RK3576 PCIe0,位于 2a200000.pcie),通过 M.2 插槽对外引出,可用于连接 5G PCIe 模组。本文说明硬件连接、模组模式配置、PCIe/MHI 识别、拨号上网和网络连通性验证流程。H1 参考文档以 RM520N-GL 为例,M2 当前 ADB 实测设备识别为 Quectel EM120R-GL LTE Modem,文中的“实测输出”为本次 M2 采集结果。

💡 M.2 插槽同一时刻只能接入一个 PCIe 设备,5G 模组与 NVMe SSD 二选一,不可同时使用。切换设备前请先正常关机并断电,再更换 M.2 设备后重新上电。

硬件接口及准备

开始操作前,请确认已准备好以下硬件:Quectel Pi M2 主控板、RM520N-GL PCIe 网卡、PCIe 转接线、Type-C-to-Type-A USB 数据线、5G 天线和有效 SIM 卡。初次配置模组时,需要通过模块或转接板的 USB AT 端口连接 Windows PC,用于发送 AT 指令。

../../../_images/image_NjeHbCpMJor8wcxUSPpcSeKYnEg.webp

快速开始

连接硬件

  1. 将 RM520N-GL PCIe 网卡转接线均匀插入主控板 PCIe 接口。

  2. 从两侧向下推动 PCIe 接口固定支架,确认转接线牢固固定到位。

  3. 安装 5G 天线,并插入有效 SIM 卡。

  4. 使用 Type-C-to-Type-A USB 数据线连接 5G 模组或转接板的 USB 口到 Windows PC。初次使用可能需要安装模块 USB 驱动,驱动文件请按实际模块型号获取。

  5. 完成模组模式配置后,断开 PC 端 USB 线,重新给主控板上电。

功能使用

PCIe 模块配置

连接 AT 端口

使用 PCIe 直通转接卡时,必须先把 5G 模组设置为 PCIe-EP 模式,否则无法与主控板的 PCIe 接口通信。连接 USB AT 端口后,在 Windows PC 的设备管理器中找到 Quectel USB AT Port (COMxxx),再使用串口工具打开该 AT 端口。

执行配置命令

在 AT 端口中依次执行以下命令:

AT+QCFG="data_interface",1,0
AT+QCFG="pcie/mode",0
AT+QCFG="usbnet",2
AT+CFUN=1,1

正常返回示例:

AT+QCFG="data_interface",1,0
OK
AT+QCFG="pcie/mode",0
OK
AT+QCFG="usbnet",2
OK
AT+CFUN=1,1
OK

命令执行完成后,等待模组重启生效,断开 PC 端 USB 连接,并重新给主控板上电。

验证 PCIe 设备识别情况

进入 Linux 系统后,先检查 PCIe 总线设备、MHI 设备节点和数据网卡是否正常生成。

# 检查 PCIe 总线设备识别情况
lspci

# 检查 MHI 调制解调器接口
ls /dev/mhi*

# 检查数据网卡
ls /sys/class/net | grep rmnet

M2 实测输出:

root@linaro-alip:~# lspci
00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3576 (rev 01)
01:00.0 Unassigned class [ff00]: Qualcomm Technologies, Inc SDX62 [Snapdragon X62 5G]

root@linaro-alip:~# find /sys/bus/pci/devices -maxdepth 1 -mindepth 1 -printf "%f\n"
0000:01:00.0
0000:00:00.0

root@linaro-alip:~# ls /dev/mhi*
/dev/mhi_BHI  /dev/mhi_DIAG  /dev/mhi_DUN  /dev/mhi_LOOPBACK  /dev/mhi_QMI0

root@linaro-alip:~# ls /sys/class/net | grep rmnet
rmnet_mhi0
rmnet_mhi0.1

内核日志关键输出:

[  297.193333] rk-pcie 2a200000.pcie: PCIe Link up, LTSSM is 0x130011
[  297.193341] rk-pcie 2a200000.pcie: PCIe Gen.2 x1 link up
[  297.205513] mhi_pci_probe pci_dev->name = 0000:01:00.0, domain=0, bus=1, slot=0, vendor=17CB, device=0308
[  297.215019] [I][mhi0][mhi_pci_show_link] LnkCap: Speed 16GT/s, Width x2
[  297.215021] [I][mhi0][mhi_pci_show_link] LnkSta: Speed 5GT/s, Width x1
[  297.230051] [I][mhi0][mhi_pm_st_worker] Transition to state:MISSION MODE
[  297.258869] rmnet_vnd_register_device(rmnet_mhi0.1)=0

M2 当前实测结果如下:PCIe 设备已枚举,lspci 可识别到 RK3576 PCI bridge 和 Qualcomm SDX62 5G 设备;/dev/mhi* 节点已生成,数据网卡 rmnet_mhi0rmnet_mhi0.1 已生成。内核日志显示 PCIe Gen2 x1 link up,MHI 进入 Mission Mode。

拨号上网

拨号前准备

拨号前请确认 5G 天线已连接、SIM 卡已插入且状态正常,现场网络信号满足注网要求。信号较差或 SIM 卡异常会导致注网失败或拨号后无法获取 IP。

../../../_images/image_BuEcbBeCeomGQDxPznocrcYgnxh.webp

使用 quectel-CM 拨号

后台运行 quectel-CM 执行拨号:

quectel-CM &

当日志中出现 SIM_READYPS: AttachedDataCap: 5G_SA 或运营商网络类型,并且 udhcpc 获取到 IP 地址时,表示设备已成功获得基站分配的 IP,网络连接建立成功。

M2 实测输出:

root@linaro-alip:~# quectel-CM &
[04-13_21:51:02:574] QConnectManager_Linux_V1.6.4
[04-13_21:51:02:575] netcard driver = pcie_mhi, driver version = V1.3.7
[04-13_21:51:02:575] qmap_mode = 1, qmap_version = 9, qmap_size = 15360, muxid = 0x81, qmap_netcard = rmnet_mhi0.1
[04-13_21:51:02:575] Modem works in QMI mode
[04-13_21:51:15:237] requestBaseBandVersion RM520NGLAAR03A04M4G
[04-13_21:51:15:256] requestGetSIMStatus SIMStatus: SIM_READY
[04-13_21:51:15:260] requestGetProfile[1] ///0/IPV4V6
[04-13_21:51:15:265] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: 5G_SA
[04-13_21:51:15:268] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[04-13_21:51:15:623] requestSetupDataCall WdsConnectionIPv4Handle: 0xe2b2aae0
[04-13_21:51:15:641] ip link set dev rmnet_mhi0 up
[04-13_21:51:15:646] ip link set dev rmnet_mhi0.1 up
[04-13_21:51:15:655] busybox udhcpc -f -n -q -t 5 -i rmnet_mhi0.1
udhcpc: started, v1.37.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 10.72.183.243, server 10.72.183.244
udhcpc: lease of 10.72.183.243 obtained from 10.72.183.244, lease time 7200
[04-13_21:51:15:713] ip -4 address add 10.72.183.243/29 dev rmnet_mhi0.1
[04-13_21:51:15:719] ip -4 route add default via 10.72.183.244 dev rmnet_mhi0.1

本次插入有效 SIM 卡后复测,quectel-CM 可正常识别 QMI 模式,SIM 状态为 SIM_READY,网络注册状态为 PS: Attached,数据能力为 5G_SA,并通过 udhcpc 获取到 IPv4 地址 10.72.183.243

验证网络连通性

拨号成功后,查看数据网卡 IP 地址,并通过 ping 验证外网连通性:

# 查看网卡地址
ifconfig rmnet_mhi0.1
ip addr show rmnet_mhi0.1

# 指定 5G 数据网卡 ping 外网
ping -c 4 -I rmnet_mhi0.1 8.8.8.8

M2 实测输出:

root@linaro-alip:~# ip -4 addr show dev rmnet_mhi0.1
6: rmnet_mhi0.1: <NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    altname enx0250f4000001
    inet 10.72.183.243/29 scope global rmnet_mhi0.1
       valid_lft forever preferred_lft forever

root@linaro-alip:~# ip route
default via 10.72.183.244 dev rmnet_mhi0.1
10.72.183.240/29 dev rmnet_mhi0.1 proto kernel scope link src 10.72.183.243

root@linaro-alip:~# ping -c 4 -I rmnet_mhi0.1 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 10.72.183.243 rmnet_mhi0.1: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=110 time=61.2 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=110 time=60.0 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=110 time=59.0 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=110 time=58.0 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 58.033/59.562/61.205/1.173 ms

实测结果显示,rmnet_mhi0.1 已获取 IPv4 地址 10.72.183.243/29,默认路由已指向 10.72.183.244,通过 5G 数据网卡 ping 8.8.8.8 连通,4 包全部收到,丢包率 0%。

异常排查

  • 未枚举 PCIe 设备:检查 PCIe 转接线方向和固定支架是否压紧,确认模组已切到 PCIe-EP 模式,断电后重新插拔并上电。

  • 没有 /dev/mhi*:检查内核 MHI/PCIe 驱动是否加载,查看 dmesg | grep -Ei "pcie|mhi|rmnet" 日志。

  • 拨号失败或无法获取 IP:检查 SIM 卡、天线、APN、运营商网络覆盖,以及 quectel-CM 日志中的 SIM 状态和注网状态。

  • 如果插入 SIM 卡后启动阶段出现 PCIe Link Faillspci 无输出,优先建议断电重启;调试时也可重新绑定 PCIe 控制器触发枚举:echo 2a200000.pcie > /sys/bus/platform/drivers/rk-pcie/bind

  • 需要切换到 NVMe SSD 测试时:先停止拨号、关机断电,再拆下 5G 模组并安装 SSD。